<?

/*
*
*   Excalibur Content Management System
*   Copyright © 2008 Egor "Sontan" Kuryanovich
*
*   Based on Explay Engine v2.0 by Golovdinov Alexander
*
*   Official site: www.excms.ru
*   Contact e-mail: support@excms.ru
*
*   GNU General Public License original source:
*   http://www.gnu.org/licenses/gpl-3.0.html
*
*/

if ($EXCMS != "work") {
	exit;
}

$id = $_GET['id'];
$name = $_GET['blog_name'];

if ($_GET['did'] == "delete" && isset($_GET['id'])) {
	$delete = @mysql_query ("DELETE FROM ".DB_PEREFIX."_art_category WHERE cat_id = '$id'");
	if ($delete) { site_message ("Раздел удален"); if (file_exists("images/blogs/$name.jpg")) unlink ("images/blogs/$name.jpg"); }
	else site_error ("Ошибка БД или нет такой записи");
}
if ($_GET['save'] == "yes") {
	$name = $_POST['name'];
	$header = $_POST['header'];
	$desc = $_POST['desc'];
	if ($_POST['public'] == "true") $allow = "yes";
	else $allow = "no";
	if ($name != "" && $header != "") {
		
		$inscat = @mysql_query ("INSERT INTO ".DB_PEREFIX."_art_category VALUES (0, '$name', '$header', '$desc', '0', '0', '".time()."', '$allow', '{$GLOBA_USER['user_id']}')");
		if ($inscat) {
			site_message ("Раздел добавлен");
			
			if ($_FILES['image']['name'] != "") {
				if (eregi('[A-Za-z0-9]\.(jpeg|jpg|gif|png|bmp|JPEG|JPG|GIF|PNG|BMP)', $_FILES['image']['name'])) {
					if (copy($_FILES['image']['tmp_name'], "include/cache/".$_FILES['image']['name'])) save_image ("include/cache/".$_FILES['image']['name'], $name);
					else site_error ("Ошибка при добавлении изоображения!");
				}
				else site_error ("Файл не является изоображением!");
			}
			
			
		}
		else site_error ("Ошибка БД");
	}
	else site_error ("Не заполнено одно из полей");
}
if ($_GET['save'] == "edit_save") {
	$tid = $_POST['the_id'];
	$name = $_POST['name'];
	$header = $_POST['header'];
	$desc = $_POST['desc'];
	if ($_POST['public'] == "true") $allow = "yes";
	else $allow = "no";
	if ($name != "" && $header != "" && $tid != "") {
		$updlink = @mysql_query ("UPDATE ".DB_PEREFIX."_art_category SET cat_name = '$name', cat_header = '$header', cat_description = '$desc', allow_users = '$allow' WHERE cat_id = '$tid'");
		if ($updlink) {
			site_message ("Раздел сохранен");
			
			if ($_FILES['image']['name'] != "") {
				if (eregi('[A-Za-z0-9]\.(jpeg|jpg|gif|png|bmp|JPEG|JPG|GIF|PNG|BMP)', $_FILES['image']['name'])) {
					if (copy($_FILES['image']['tmp_name'], "include/cache/".$_FILES['image']['name'])) save_image ("include/cache/".$_FILES['image']['name'], $name);
					else site_error ("Ошибка при добавлении изоображения!");
				}
				else site_error ("Файл не является изоображением!");
			}
		}			
		else site_error ("Ошибка БД");
	}
	else site_error ("Не заполнено одно из полей");
}
if ($_GET['act'] != "edit") {
	print '<ul id="top_nav"><li class="sel"><a href="admin.php">Панель администратора</a></li><li><a href="admin.php?name=articles">Управление статьями</a></li><li>Управление категориями</li></ul>';
	simple_table ("[ <a href='admin.php?name=articles&act=add'>Добавить статью</a> ] [ <a href='admin.php?name=articles&ed=import'>Импорт статей</a> ] [ <a href='admin.php?name=articles&ed=options'>Настройки</a> ]");
	add_art_cat ("name=articles&ed=cat&save=yes", "", $_POST['name'], $_POST['name_'], $_POST['desc']);
}
if (!isset($_GET['act'])) {
	print "\n<script>document.title='Управление разделами статей - ".$SITE['site_name']."';</script>";
	$gcat = @mysql_query ("SELECT * FROM ".DB_PEREFIX."_art_category ORDER BY cat_id DESC");
	if ($gcat) {
		$art_tr = "";
		while ($cat = mysql_fetch_array ($gcat)) {
			$cat_ = $cat['cat_name'];
			$art = @mysql_num_rows (mysql_query("SELECT * FROM ".DB_PEREFIX."_articles WHERE art_category = '$cat_'"));
			$cat_tr .= "\n<tr><td class=ad_tr><a href='modules.php?name=articles&cat=$cat_' target='_blank'>".$cat['cat_header']."</a></td><td class=ad_tr><small>".$cat['cat_description']."</small></td><td class=ad_tr><center>".format_time($cat['cat_date'])."</td><td class=ad_tr><center>$art</td><td class=ad_tr><center>[ <a href='admin.php?name=articles&ed=cat&act=edit&id=".$cat['cat_id']."'>Редактировать</a> ] [<a href='javascript:delete_(\"admin.php?name=articles&ed=cat&did=delete&blog_name=".$cat['cat_name']."&id=".$cat['cat_id']."\");'>Удалить</a> ]</td></tr>";
		}
		$cat_table = "\n<table class=body_table width='100%' cellspacing='0' cellpadding='3'>
		<tr><td class=top_header_name><center><b>Название</b></td><td class=top_header_name><center><b>Описание</b></td><td class=top_header_name><center><b>Дата</b></td><td class=top_header_name><center><b>Статей</b></td><td class=top_header_name><center><b>Опции</b></td></tr>$cat_tr
		\n</table><script>function delete_ (url_) {
		if (window.confirm('Вы действительно хотите удалить раздел?') == true) document.location.href = url_;
		}</script>";
		past_table ("Управление разделами статей", $cat_table);
	}
	else site_error ("Ошибка БД");
}
if ($_GET['act'] == "edit" && isset($_GET['id'])) {
	print '<ul id="top_nav"><li class="sel"><a href="admin.php">Панель администратора</a></li><li><a href="admin.php?name=articles">Управление статьями</a></li><li><a href="admin.php?name=articles&ed=cat">Управление категориями</a></li><li>Изминение раздела</li></ul>';

	simple_table ("[ <a href='admin.php?name=articles&act=add'>Добавить статью</a> ] [ <a href='admin.php?name=articles&ed=import'>Импорт статей</a> ] [ <a href='admin.php?name=articles&ed=options'>Настройки</a> ]");
	print "\n<script>document.title='Исправление раздела - ".$SITE['site_name']."';</script>";
	$select = @mysql_query ("SELECT * FROM ".DB_PEREFIX."_art_category WHERE cat_id = '$id'");
	if ($select) {
		$cat = mysql_fetch_array ($select);
		add_art_cat ("name=articles&ed=cat&save=edit_save", $id, $cat['cat_name'], $cat['cat_header'], $cat['cat_description'], $cat['allow_users']);
	}
	else site_error ("Ошибка БД или нет такой записи");	
	come_back ("управлению разделами", "admin.php?name=articles&ed=cat");
}

come_back ("панели администратора", "admin.php");

function add_art_cat ($act, $id, $name, $name_, $desc, $allow_public = "") {
	if ($allow_public == "yes") $public = "checked";
	$form = "\n\n<form style='margin:0px' action='admin.php?$act' method='post' name='record' enctype=\"multipart/form-data\">
	<input type=hidden name=the_id value=$id>
	<table class=main_text border=0 width='100%' cellspacing='0' cellpadding='3'>
	<tr><td width='25%'>Название: </td><td><input type='text' name='name' style='width:200px' class='form' value='$name'> <a href='javascript:void(0)' onmouseover=\"return overlib('Название должно содержать только латинские буквы. Оно будет использоваться в заголовке для доступа к разделу. Если изменить название сущестующего раздела потребуется изменять принадлежность всех статей этого раздела.', BELOW, RIGHT);\" onmouseout=\"return nd();\">?</a></td></tr>
	<tr><td>Название (рус.): </td><td><input type='text' name='header' style='width:200px' class='form' value='$name_'></td></tr>
	<tr><td>Аватар:</td><td><input type=\"file\" name=\"image\" style=\"width:40%\" class=\"form\" /></td></tr>
	<tr><td>Описание: </td><td><textarea name='desc' style='width:60%' rows=8>$desc</textarea></td></tr>
	<tr><td>Разрешить публиковать статьи пользователям в этом разделе: </td><td><input type=\"checkbox\" name=\"public\" value=\"true\" $public /></td></tr>
	<tr><td colspan='3'><input style='width:240px' type='submit' name=post value='Сохранить' class='button'></td></tr>
	</table></form>";
	past_table ("Добавление/Изменение раздела статей", $form);
}

function save_image ($src, $name) {
	if (!file_exists($src) || $src == "") return false;
	
	$name = "images/blogs/$name.jpg";
	
	if(eregi('[A-Za-z0-9]\.(jpeg|jpg|JPEG|JPG)', $src)) {
		$thumbbase = imagecreatefromjpeg($src);
	}
	elseif(eregi('[A-Za-z0-9]\.(gif|GIF)', $src)) {
		$thumbbase = imagecreatefromgif($src);
	}
	elseif(eregi('[A-Za-z0-9]\.(png|PNG)', $src)) {
		$thumbbase = imagecreatefrompng($src);
	}
	elseif(eregi('[A-Za-z0-9]\.(bmp|wbmp|BMP|wbmp)', $src)) {
		$thumbbase = imagecreatefromwbmp($src);
	}
	else exit;
	
	$width = imagesx($thumbbase);
	$height = imagesy($thumbbase);
	
	if ($width > 75 || $height > 75) {
		$k = max($width/75, $height/75);
		$new_width = intval($width / $k);
		$new_height = intval($height / $k);
	}
	else {
		$new_width = $width;
		$new_height = $height;
	}
	
	$thumb = imagecreatetruecolor ($new_width, $new_height);
	imagecopyresampled($thumb, $thumbbase, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
	if (imagejpeg($thumb, $name, 70)) {
		imagedestroy($thumb);
		imagedestroy($thumbbase);
		@unlink ($src);
		return true;
	}
	return false;
}
